home *** CD-ROM | disk | FTP | other *** search
- Trident SuperVGA
-
- Trident 8800BR 512k Only 128K banks.
- 8800CS 512k
- 8900 1M
- 8900C 1M
- 9000 Low component version
- LCD9100
- LX9200
-
- The Trident 8800 chips have a problem with 256 color modes,
- as they always double the pixels output in 256 color mode.
- Thus a 640x400 256 color mode (5Ch) actually uses a 1280x400
- frame, requiring at least a multi sync monitor.
- This problem is fixed on the 8900.
-
- Apparently Trident BIOS version 3.xx or later on a 8900 will support HiColor DACs
- Anybody got the details (modes, which DACs ...)?.
-
-
- 100h (R/W?): Microchannel ID low
- bit 0-7 Card ID bit 0-7
-
- 101h (R/W?): Microchannel ID high
- bit 0-7 Card ID bit 8-15
-
- 3C3h (R/W): Microchannel Video Subsystem Enable Register:
- bit 0 Enable Microchannel VGA if set
-
- 3C4h index Bh (R): Chip Version
- bit 0-3 Chip ID
- 1 = TR 8800BR
- 2 = TR 8800CS
- 3 = TR 8900
- 4 = TR 8900C (Some sources say 3)
- 4-7 Reserved for 8800.
- For 8900/9000: 0=8900B, 1=8900C, 2=9000, 8=LX9200, 9=LCD9100.
-
- Note: Writing to index Bh selects old mode registers.
- Reading from index Bh toggles between old and new
- mode registers.
- Note: Writing to this register in order to force old mode registers
- should be done with two 8bit writes, not one 16bit write.
-
- 3C4h index Ch (R/W): Power Up Mode Register 1
-
- 3C4h index Dh (R/W): Old Mode Control 2
- bit 0-2 Emulation mode
- 0=VGA, 3=EGA, 5=CGA,MDA,Hercules
- 4 Enable Paging mode if set
-
- 3C4h index Dh (R/W): New Mode Control 2
- Contains timing info
- Note: The old/new Mode Control 1/2 registers are selected by
- reading and writing the Chip version register (index Bh).
-
- 3C4h index Eh (R/W): Old Mode Control 1
- bit 0 (8900 Only) CRTC Address bit 17 (Show from upper 512kb if set)
- 1-2 128kb Bank number (0-3)
- 3 16 bit interface if set
-
- 3C4h index Eh (R/W): New Mode Control 1
- bit 0-3 64k Bank nr. For write ops. xor bank number with 2,
- for read ops use bank number directly.
- 4-7 Reserved
- Note: The old/new Mode Control 1/2 registers are selected by
- reading and writing the Chip version register (index Bh).
-
- 3C4h index Fh (R/W): Power-up Mode 2
- bit 0-3 Switch settings
- 4 Bus type
- 5 If set I/O address are at 3xxh, else at 2xxh.
- 6 Enable ON-Card ROM if set
- 7 16 bit ROM access if set
-
- 3d4h index 1Eh (R/W): Module Testing Register
- bit 2 Vertical interlace if set
- 5 CRTC starting address bit 16
- 7 (8900 Only) Host address bit 16.
- Enables 128k CRTC address if set
-
- 3d4h index 1Fh (R/W): Software Programming Register (8900 Only)
- bit 0-1 Memory size 0=256k, 1=512k, 2=768k, 3=1M.
-
- 3d4h index 1Fh (R/W): Scratch Register (8800 Only)
- bit 0 Paged memory mode in effect
- 1 Memory size 0=256k, 1=512k
- 2 Analog monitor attached
- 3 44.9 MHz oscillator present
- Note: This register is set by software.
-
- 3d4h index 22h (R): CPU Latch Read Back
- bit 0-7 Data Latch value for current read plane.
-
- 3d4h index 24h (R): Attribute State Read Back
- bit 0-6 Reserved
- 7 Attribute Controller State
- If set the next write to 3C0h will go to the data
- register, if clear to the index register.
-
- 3d4h index 26h (R): Attribute Index Read Back
- bit 0-7 Attribute Index Register value
-
-
-
- 46E8h (R): Video Subsystem Enable Register
- bit 3 Enable VGA if set
-
-
-
-
- Bank selection:
-
- Trident VGAs can operate in 2 different modes:
-
- Old Mode, with a 128k window to display memory at A000h - BFFFh
- and New Mode, with a 64k window to display memory at A000h - AFFFh.
- Old/New mode is selected by reading/writing the Chip Version Register
- (3C4h index 0Bh).
- Each mode has its own registers at 3C4h index 0Dh and 0Eh.
-
-
- ID Trident VGA:
-
- wrinx($3c4,11,0); {Force old_mode_registers}
- chp:=inp($3c5); {Read chip ID and switch to new_mode_registers}
- old:=rdinx($3c4,14);
- outp($3c5,0);
- value:=inp($3c5) and 15;
- outp($3c5,old);
-
- if value=2 then
- case chp of
- 1:Trident TR8800BR;
- 2:Trident TR8800CS;
- 3:Trident TR8900;
- $13:Trident TR8900C;
- $23:Trident TR9000;
- $83:Trident LX9200;
- $93:Trident LCD9100
- end;
-
-
- Video Modes:
- 50h T 80 30 16 (8x16)
- 51h T 80 43 16 (8x11)
- 52h T 80 60 16 (8x8)
- 53h T 132 25 16 (8x14)
- 54h T 132 30 16 (8x16)
- 55h T 132 43 16 (8x11)
- 56h T 132 60 16 (8x8)
- 57h T 132 25 16 (9x14)
- 58h T 132 30 16 (9x16)
- 59h T 132 43 16 (9x11)
- 5Ah T 132 60 16 (9x8)
- 5Bh G 800 600 16 planar
- 5Ch G 640 400 256 packed
- 5Dh G 640 480 256 packed
- 5Eh G 800 600 256 packed (Undocumented on 8800)
- 5Fh G 1024 768 16 planar
- 60h G 1024 768 4 8900 Only
- 61h G 768 1024 16 planar
- 62h G 1024 768 256 packed 8900 Only
-
-
- ZyMOS POACH51 modes:
-
- 60h G 960 720 16 planar
- 61h G 1280 640 16 planar
- 62h G 512 512 256 packed
- 63h G 720 540 16 planar
- 64h G 720 540 256 packed
- 6Ah G 800 600 16 planar
-
-
- Everex Viewpoint use Everex modes.
-
-
- Bios extensions:
-
- ----------1000-------------------------------
- INT 10 - VIDEO - SET VIDEO MODE
-
- ....
-
- Return: AH = Status of call: (Trident Super VGA Chips)
-
- Trident 8800 Trident 8900
- 00h Successful do
- 80h Fail. Wrong switch do
- 81h Insufficient Video do
- Memory.
- 82h The 36MHz crystal Mode not supported
- cannot support the
- mode
- 83h The 40MHz crystal Mode not supported
- cannot support the
- mode.
- 84h The 44.9MHz crystal Mode not supported
- cannot support the
- mode.
- 85h Dead or no crystal
- 86h Wrong CRTC base for dual screen
- 87h Text mode not supported
-